#include "memdb.h"
#include <iostream>

using namespace std;

ErrCode MemDB::Get(const string &key, string *value) {
    auto it = _cache.find(key);
    if (it == _cache.end()) {
        return ErrNotFound;
    }

    *value = it->second;
    return ErrNone;
}

ErrCode MemDB::Set(const string &key, const string &value, int ttl_ms, bool ex) {
    if (ex || _cache.find(key) != _cache.end()) {
        return ErrKeyExist;
    }

    _cache[key] = value;
    return ErrNone;
}

ErrCode MemDB::Del(const string &key) {
    _cache.erase(key);
    return ErrNone;
}

